## FIXME: This only requires RTTI because tblgen uses it.  Fix that.
set(LLVM_REQUIRES_RTTI 1)
if( MINGW )
  set(LLVM_REQUIRES_EH 1)
endif()

add_llvm_library(LLVMSupport
  APFloat.cpp
  APInt.cpp
  APSInt.cpp
  Allocator.cpp
  BlockFrequency.cpp
  BranchProbability.cpp
  circular_raw_ostream.cpp
  CommandLine.cpp
  ConstantRange.cpp
  CrashRecoveryContext.cpp
  DataExtractor.cpp
  DataStream.cpp
  Debug.cpp
  DeltaAlgorithm.cpp
  DAGDeltaAlgorithm.cpp
  Dwarf.cpp
  ErrorHandling.cpp
  FileUtilities.cpp
  FoldingSet.cpp
  FormattedStream.cpp
  GraphWriter.cpp
  Hashing.cpp
  IntEqClasses.cpp
  IntervalMap.cpp
  IntrusiveRefCntPtr.cpp
  IsInf.cpp
  IsNAN.cpp
  JSONParser.cpp
  LockFileManager.cpp
  ManagedStatic.cpp
  MemoryBuffer.cpp
  MemoryObject.cpp
  PluginLoader.cpp
  PrettyStackTrace.cpp
  Regex.cpp
  SmallPtrSet.cpp
  SmallVector.cpp
  SourceMgr.cpp
  Statistic.cpp
  StreamableMemoryObject.cpp
  StringExtras.cpp
  StringMap.cpp
  StringPool.cpp
  StringRef.cpp
  SystemUtils.cpp
  Timer.cpp
  ToolOutputFile.cpp
  Triple.cpp
  Twine.cpp
  raw_os_ostream.cpp
  raw_ostream.cpp
  regcomp.c
  regerror.c
  regexec.c
  regfree.c
  regstrlcpy.c

# System
  Atomic.cpp
  Disassembler.cpp
  DynamicLibrary.cpp
  Errno.cpp
  Host.cpp
  IncludeFile.cpp
  Memory.cpp
  Mutex.cpp
  Path.cpp
  PathV2.cpp
  Process.cpp
  Program.cpp
  RWMutex.cpp
  SearchForAddressOfSpecialSymbol.cpp
  Signals.cpp
  system_error.cpp
  TargetRegistry.cpp
  ThreadLocal.cpp
  Threading.cpp
  TimeValue.cpp
  Valgrind.cpp
  Unix/Host.inc
  Unix/Memory.inc
  Unix/Mutex.inc
  Unix/Path.inc
  Unix/PathV2.inc
  Unix/Process.inc
  Unix/Program.inc
  Unix/RWMutex.inc
  Unix/Signals.inc
  Unix/system_error.inc
  Unix/ThreadLocal.inc
  Unix/TimeValue.inc
  Windows/DynamicLibrary.inc
  Windows/Host.inc
  Windows/Memory.inc
  Windows/Mutex.inc
  Windows/Path.inc
  Windows/PathV2.inc
  Windows/Process.inc
  Windows/Program.inc
  Windows/RWMutex.inc
  Windows/Signals.inc
  Windows/system_error.inc
  Windows/ThreadLocal.inc
  Windows/TimeValue.inc
  )
